package com.jk.mapper;

import com.jk.model.*;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.HashMap;
import java.util.List;

@Mapper
public interface LXCMapper {

    //商城导航
    @Select("select * from t_product_tree where pid=#{value}")
    List<ProductTree> findProductTree(Integer pid);

    //新增商品
    void addProudct(ProductBean productBean);

    //商品Id 店铺Id 存到关联表
    void addStoreProduct(StroeProductBean stroeProductBean);

    //商品分页查询：总条数
    int findProductCount(HashMap<String, Object> params);

    //商品分页查询：列表
    List<ProductBean> findProductList(HashMap<String, Object> params);

    //商品上下架
    void productState(@Param("productId") Integer productId, @Param("falg") Integer falg);

    //条查：加载商品类型
    @Select("select * from t_product_type")
    List<ProductTypeBean> findProductType();

    //删除商品
    @Delete("delete from t_product where id = #{value}")
    void delProduct(Integer productId);

    //商品库存分页查询：总条数
    int findProductStockCount(HashMap<String, Object> params);

    //商品库存分页查询
    List<ProductBean> findProductStock(HashMap<String, Object> params);

    //库存：商品批量上架
    void productManyStock(Integer[] ids);

    //店铺：出售中商品总条数
    int findStoreProductCount(HashMap<String, Object> params);

    //店铺：出售中的商品
    List<ProductBean> findStoreProductList(HashMap<String, Object> params);

    //店铺：下架商品条数
    int findStoreDownProductCount(HashMap<String, Object> params);

    //店铺：下架中的商品
    List<ProductBean> findStoreDownProductList(HashMap<String, Object> params);

    //店铺：审核中商品条数
    int findStoreAuditProductCount(HashMap<String, Object> params);

    //店铺：审核中商品分页查询
    List<ProductBean> findStoreAuditProductList(HashMap<String, Object> params);

    //店铺查询
    @Select("select * from t_store")
    List<StoreBean> findStore();

    @Select("select * from t_user where userAccount=#{value} or userPhone = #{value}")
    UserBean findUserInfoByAccount(Integer userAccount);


}
